I. Field of the Invention
This invention relates generally to numerical control of machines. In particular, this invention relates to correction of positioning errors by compensation of measured values of position and position command data.
II. Description of the Prior Art
It is well known to control machine member positioning by a closed position loop. Drive train elements of a typical axis of closed loop control are illustrated in FIG. 1. A machine member 10 is moved by motion of drive nut 12 relative to drive screw 13. Drive screw 13 is rotated by motor 14 through a transmission such as toothed belt 15 and drive wheels 16 and 17. A position transducer 18 is driven directly by motor 14 and produces signals providing unique representations of angular position throughout a single revolution of the drive shaft of motor 14. Servomechanism control 19 responds to the measured position signals and position commands produced by, for example, a numerical control to produce motor control signals controlling the operation of motor 14. Typically servomechanism control 19 will include a position loop stage for producing velocity commands in response to detected differences between commanded and actual positions, a velocity loop stage for producing motor current (torque) commands in response to detected differences between commanded and actual velocities and a drive stage for producing control signals controlling the delivery of power to the motor 14.
While the arrangement of FIG. 1 illustrates position transducer 18 as being driven directly by motor 14, it is also well known to apply position transducers to the machine members whereby position of such members is measured directly. In either arrangement, the position transducers produce unique representations of position only over a limited range consistent with the design of the type of transducer and the desired resolution of position measurement. The transducer representation of position is, therefore, repeated throughout the range of motion of the associated machine member according to the ratio of the range of motion of the machine member to that portion of the range for which the transducer produces a unique representation of position. The range of the transducer measurement is referred to herein as the transducer measurement pitch.
Although the closed loop control of position is effective to insure accurate positioning within the tolerance of the measuring system, positioning errors will nevertheless arise from sources not represented in the measured position. For example, position errors may arise from screw or nut pitch errors and eccentricities as well as from deflections in the screw, nut, and supporting machine structures. Such errors typically exhibit little variation over the pitch of transducer measurement. Even in instances where machine member position is measured directly rather than through the drive train to the actuator, anomalies in the position transducer, such as irregularities in the fields caused by slots in transducer armature and stator elements and irregularities in spacing of grating lines in optical scales, introduce position errors. Such errors define a pattern of error magnitude within the pitch of transducer measurement which repeats with each cycle of the pitch and are commonly referred to as cyclic errors.
Referring to FIG. 2, curve 290 illustrates the combined effect of uncompensated cyclic and long pitch errors as a function of position. Positioning without error would occur along the horizontal axis labelled POS and positioning without cyclic error would occur along the curve represented by dashed line 300. As illustrated by curve 290, cyclic error defines a pattern within the transducer measurement pitch which is repeated over the range of motion of the machine member. In effect, cyclic errors are superposed on the curve of long pitch errors. It is known to correct errors by use of compensation values associated with selected calibration points. Common practice is to establish calibration points at regular intervals irrespective of the locations of the transducer cycles. The location of calibration points in this fashion is illustrated by the calibration points 292 and 294 shown in FIG. 2. It will be observed that the calibration data will include contributions from cyclic errors. Corrections between calibration points will be affected by these errors according to the correction algorithm using the calibration point data. As illustrated by the dot-dash line 302, a straight line joining the calibration points fails to conform to the underlying curve 300. This results in introduction of residual long pitch error on which cyclic error is superposed at all locations other than the calibration points. Consequently, although positioning will be correct at the calibration points, corrections between calibration points may be displaced from the desired correction by significant distances. Furthermore, because of the relatively small interval over which cyclic errors repeat, it is typically not practical to store calibration data tables to correct such errors throughout a range of motion of a machine member.